Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
15-07-2026

Inwerkingtreding:
16-07-2026

20.5 Solvabiliteit - wat is de Reserves-Ratio?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 20.5.0
2# Parameters: ?peildatum
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
6prefix onz-zorg:  <http://purl.org/ozo/onz-zorg#>
7PREFIX onz-g: <http://purl.org/ozo/onz-g#>
8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
9
10SELECT ?Kental ?Waarde
11WHERE {
12	# Reserves
13    {
14        SELECT (SUM(IF(?jaarrekeningpost = "D Reserves", ?bedrag, 0)) AS ?reserves)
15        WHERE {
16            {
17                SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag)
18                WHERE {
19                    {
20                        SELECT
21                            ?rubriek ?categorie
22                            (SUM(?geld_bedrag_post) + SUM(?saldo_waarde)/COUNT(?saldo_waarde) AS ?bedrag_rubriek)
23                        WHERE {
24                            {
25                                SELECT
26                                    ?rubriek ?categorie
27                                    (IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde)
28                                    ?peildatum_argument
29                                    (IF(BOUND(?saldo_datum), ?saldo_datum, ?unbound) AS ?begin_datum)
30                                    ?saldo_datum ?saldo
31                                WHERE {
32                                    #BIND("2024-12-31"^^xsd:date AS ?peildatum)
33                                    BIND(?peildatum AS ?peildatum_argument)
34                                    # Prismant
35                                    {
36                                        {
37                                            ?rubriek a onz-fin:Grootboekrubriek .
38                                        }
39                                        UNION
40                                        {
41                                            ?rubriek a onz-fin:Grootboekrekening .
42                                        }
43
44                                        BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
45
46                                        VALUES (?prismantPrefix ?categorie) {
47                                            ("05413" "D.IV")
48                                            ("05311" "D.V")
49                                            ("05342" "D.V")
50                                            ("05423" "D.V")
51                                            ("05323" "D.VI")
52                                            ("0539"  "D.VII")
53                                            ("05493" "D.VII")
54                                            ("05915" "D.VII")
55                                            ("091"   "D.VIII")
56                                        }
57
58                                        FILTER(STRSTARTS(?rubriekCode, ?prismantPrefix))
59                                    }
60
61                                    UNION
62                                    # RGS
63                                    {
64                                        VALUES (?rubriekCode ?categorie) {
65                                            ("BEivHer" "D.III")
66                                            ("BEivWer" "D.IV")
67                                            ("BEivStr" "D.IV")
68                                            ("BEivBer" "D.V")
69                                            ("BEivBef" "D.VI")
70                                            ("BEivOvr" "D.VII")
71                                            ("BEivOre" "D.VIII")
72                                        }
73
74                                        BIND(
75                                            IRI(CONCAT(STR(onz-fin:), ?rubriekCode))
76                                            AS ?rubriek
77                                        )
78
79                                        {
80                                            ?rubriek a onz-fin:Grootboekrubriek .
81                                        }
82                                        UNION
83                                        {
84                                            ?rubriek a onz-fin:Grootboekrekening .
85                                        }
86                                    }
87
88                                    OPTIONAL {
89                                        ?rubriek onz-g:isAbout ?saldo .
90
91                                        ?saldo
92                                            a onz-fin:EindSaldo ;
93                                            onz-fin:heeftGeldBedrag ?saldo_bedrag ;
94                                            onz-g:hasDate ?saldo_datum .
95
96                                        FILTER(?saldo_datum <= ?peildatum_argument)
97
98                                        FILTER NOT EXISTS {
99                                            ?rubriek onz-g:isAbout ?saldo2 .
100
101                                            ?saldo2
102                                                a onz-fin:EindSaldo ;
103                                                onz-g:hasDate ?saldo_datum2 .
104
105                                            FILTER(?saldo2 != ?saldo)
106                                            FILTER(?saldo_datum2 <= ?peildatum_argument)
107
108                                            FILTER(
109                                                ?saldo_datum2 > ?saldo_datum
110                                                ||
111                                                (
112                                                    ?saldo_datum2 = ?saldo_datum
113                                                    &&
114                                                    STR(?saldo2) > STR(?saldo)
115                                                )
116                                            )
117                                        }
118                                    }
119                                }
120                            }
121
122                            OPTIONAL {
123                                ?grootboek_post
124                                    a onz-fin:Grootboekpost ;
125                                    onz-g:partOf ?rubriek ;
126                                    onz-g:hasDate ?datum ;
127                                    onz-fin:heeftGeldBedrag ?geld_bedrag_temp .
128
129                                FILTER NOT EXISTS {
130                                    ?grootboek_post onz-g:partOf ?specifiekereRubriek .
131                                    ?specifiekereRubriek onz-g:partOf+ ?rubriek .
132                                }
133
134                                FILTER(
135                                    ?datum <= ?peildatum_argument
136                                    &&
137                                    (
138                                        ?datum > ?begin_datum
139                                        ||
140                                        !BOUND(?begin_datum)
141                                    )
142                                )
143                            }
144
145                            BIND(
146                                IF(
147                                    BOUND(?geld_bedrag_temp),
148                                    ?geld_bedrag_temp,
149                                    0
150                                ) AS ?geld_bedrag_post
151                            )
152
153                        }
154                        GROUP BY ?rubriek ?categorie
155                    }
156
157                    VALUES (?categorie ?jaarrekeningpost) {
158                        ("D.III"  "D Reserves")
159                        ("D.IV"   "D Reserves")
160                        ("D.V"    "D Reserves")
161                        ("D.VI"   "D Reserves")
162                        ("D.VII"  "D Reserves")
163                        ("D.VIII" "D Reserves")
164                    }
165
166                }
167                GROUP BY ?jaarrekeningpost
168            }
169        }
170    }
171    # P - Som der bedrijfsopbrengsten
172
173    {
174        SELECT (SUM(?p_bedrag) AS ?bedrijfsopbrengsten)
175        WHERE {
176            # BIND("2024-12-31"^^xsd:date AS ?peildatum)
177            BIND(
178                IF(
179                    MONTH(?peildatum) = 12 && DAY(?peildatum) = 31,
180                    xsd:date(CONCAT(STR(YEAR(?peildatum)), "-01-01")),
181                    xsd:date(CONCAT(STR(YEAR(?peildatum)-1), "-07-01"))
182                )
183                AS ?startperiode
184            )
185
186            BIND(?peildatum AS ?eindperiode)
187
188            ?grootboek_post
189                a onz-fin:Grootboekpost ;
190                onz-g:partOf ?rubriek ;
191                onz-g:hasDate ?datum ;
192                onz-fin:heeftGeldBedrag ?geld_bedrag .
193
194            {
195                { ?rubriek a onz-fin:Grootboekrekening }
196                UNION
197                { ?rubriek a onz-fin:Grootboekrubriek }
198            }
199
200            FILTER NOT EXISTS {
201                ?grootboek_post onz-g:partOf ?child .
202                ?child onz-g:partOf ?rubriek .
203
204                FILTER(?child != ?rubriek)
205
206                {
207                    { ?child a onz-fin:Grootboekrekening }
208                    UNION
209                    { ?child a onz-fin:Grootboekrubriek }
210                }
211            }
212
213            FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
214
215            BIND(
216                STRAFTER(STR(?rubriek), STR(onz-fin:))
217                AS ?rubriekCode
218            )
219
220            FILTER(
221                ?datum >= ?startperiode
222                &&
223                ?datum <= ?eindperiode
224            )
225
226            BIND(
227                IF(
228                    STRSTARTS(?rubriekCode, "81") ||
229                    STRSTARTS(?rubriekCode, "82") ||
230                    STRSTARTS(?rubriekCode, "83") ||
231                    STRSTARTS(?rubriekCode, "89") ||
232                    STRSTARTS(?rubriekCode, "919") ||
233                    STRSTARTS(?rubriekCode, "920") ||
234                    STRSTARTS(?rubriekCode, "930") ||
235                    STRSTARTS(?rubriekCode, "WOmz") ||
236                    STRSTARTS(?rubriekCode, "WRev") ||
237                    STRSTARTS(?rubriekCode, "WRvi") ||
238                    STRSTARTS(?rubriekCode, "WRgr") ||
239                    STRSTARTS(?rubriekCode, "WWvv") ||
240                    STRSTARTS(?rubriekCode, "WNoa") ||
241                    STRSTARTS(?rubriekCode, "WLbe") ||
242                    STRSTARTS(?rubriekCode, "WBat") ||
243                    STRSTARTS(?rubriekCode, "WWiv") ||
244                    STRSTARTS(?rubriekCode, "WOvb"),
245                    ?geld_bedrag,
246                    0
247                ) AS ?p_bedrag
248            )
249        }
250    }
251    BIND("Reserves-Ratio" AS ?Kental)
252    BIND(
253        IF(
254            BOUND(?bedrijfsopbrengsten) && (?bedrijfsopbrengsten != 0),
255            ROUND(?reserves / ?bedrijfsopbrengsten * 100) / 100,
256            "Ongedefinieerd"
257        ) AS ?Waarde
258    )
259}
260ORDER BY ?Kental